package com.gugee.tiktok.data.consumer.comment.config;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: luolifeng
 * Date: 2020-10-27 16:46
 */
@Configuration
@Getter
public class CommentAppConfig {
    /**
     * 采集评论数限制，表示最多采集多少条评论
     */
    @NacosValue(value="${tiktok.data.comment.collect.maxLimits:200}", autoRefreshed = true)
    private  int collectMaxComments;

    /**
     * 采集评论数限制，表示评论超过多少条才采集
     */
    @NacosValue(value="${tiktok.data.comment.collect.minLimits:50}", autoRefreshed = true)
    private  int collectMinComments;

    /**
     * 采集评论数限制，表示每增加多少条评论则采集评论
     */
    @NacosValue(value="${tiktok.data.comment.collect.step:100}", autoRefreshed = true)
    private  int collectStepComments;
    /**
     * 评论采集连接池大小
     */
    @Value(value="${tiktok.data.threadpools.comment.corePollSize:100}")
    int commentPollSize;

    /**
     * 关键词主题
     */
    @Value(value="${kafka.topics.keyword.online}")
    private String keywordTopicOnline;
    /**
     * 评论主题
     */
    @Value(value="${kafka.topics.comment.online}")
    private String commentTopicOnline;

    /**
     * 粉丝画像主题
     */
    @Value(value="${kafka.topics.fansportrait.online}")
    private String fansPortraitTopicOnline;

    /**
     * 确认视频存在主题
     */
    @Value(value="${kafka.topics.awemeExist.online}")
    private String awemeExistTopicOnline;

    /**
     * 日志打印时间要求
     */
    @NacosValue(value="${tiktok.data.keyword.logTime.debug.limit}", autoRefreshed = true)
    long debugTimeLimit;

    @NacosValue(value="${tiktok.data.keyword.accept.minTime.limit:1440}", autoRefreshed = true)
    long acceptMsgTimeMinRange;
    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.keyword.retry:5}", autoRefreshed = true)
    int retryKeywordTimes;

    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.comment.retry:1}", autoRefreshed = true)
    int retryCommentTimes;

    /**
     * 粉丝画像消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.fansportrait.retry:1}", autoRefreshed = true)
    int retryFansPortraitTimes;

    /**
     * 视频息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.aweme.retry:1}", autoRefreshed = true)
    int retryAwemeTimes;

    /**
     * 消息重发最大次数
     */
    @NacosValue(value="${tiktok.task.message.comment.top.retry:3}", autoRefreshed = true)
    int retryCommentTopTimes;

    /**
     * 粉丝画像单个视频需要进行更新投递操作的最小评论增长数
     */
    @NacosValue(value="${tiktok.data.fansportrait.commentCount.increase.min:0}", autoRefreshed = true)
    int fansPortraitCommentCountIncreaseMin;

    /**
     * 粉丝画像间隔要求，72小时内不再更新,单位小时
     */
    @NacosValue(value="${tiktok.data.fansportrait.sysCollect.intervals:72}", autoRefreshed = true)
    int fansPortraitIntervalHours;

    /**
     * 粉丝画像性别、年龄分析残缺率，小于残缺率不更新
     */
    @NacosValue(value="${tiktok.data.fansportrait.sysCollect.disabilityRate:20}", autoRefreshed = true)
    int fansPortraitDisabilityRate;
}
